counter = 100
name = "任硕"
number = 12.23
full = True
d = 3+2j
print(type(counter))
print(type(name))
print(type(number))
print(type(full))
print(type(d))
a = b = c = 1
a1, b1, c1 = 2, 4, "ren"
print(a, b, c)
print(a1, b1, c1)
# 此外还可以用 isinstance 来判断：
# type()不会认为子类是一种父类类型。
# isinstance()会认为子类是一种父类类型。
print(isinstance(a, int))
# print(isinstance(a, b)) 这种写法是错误的，不可用于比较两个数的类型
var1 = 1
var2 = 2
# del var1 用于删除一些对象引用
# print(var1);
print(1+2)
print(19 % 3) # 取余
print(5 // 2) # 除法，用于求的一个整数
print(2 ** 5) # 乘方
list = ['abcd', 786, 2.23, 'runoob', 70.2]
tinylist = [123, 'runoob']
print(list)  # 输出完整列表
print(list[0])  # 输出列表第一个元素
print(list[1:3])  # 从第二个开始输出到第三个元素
print(list[2:])  # 输出从第三个元素开始的所有元素
print(tinylist * 2)  # 输出两次列表
print(list + tinylist)  # 连接列表
print(list[1:4:2]) # 截取从列表1-4中步长为2的两个端点值

# 反转字符串
def reverseWords(input):
    # 通过空格将字符串分隔符，把各个单词分隔为列表
    inputWords = input.split(" ")
    # 翻转字符串
    # 假设列表 list = [1,2,3,4],
    # list[0]=1, list[1]=2 ，而 -1 表示最后一个元素 list[-1]=4 ( 与 list[3]=4 一样)
    # inputWords[-1::-1] 有三个参数
    # 第一个参数 -1 表示最后一个元素
    # 第二个参数为空，表示移动到列表末尾
    # 第三个参数为步长，-1 表示逆向
    inputWords = inputWords[-1::-1]

    # 重新组合字符串
    output = ' '.join(inputWords)
    return output
if  True:
    input = 'I like 完全 runoob'
    rw = reverseWords(input)
    print(rw)

# 元组，与列表写法上的区别就是把中括号写成小括号
# 元组（tuple）与列表类似，不同之处在于元组的元素不能修改。
# 元组写在小括号 () 里，元素之间用逗号隔开。
# 元组中的元素类型也可以不相同：
tuple = ('eqw', 'ren', 123, 'shuo', 12.0)
tinytuple = (123, 456)
print(tuple)
print(tuple[1])
print(tuple[1:3])
print(tuple[2:])
print(tuple*2)
print(tuple+tinytuple)
#  集合（set）是由一个或数个形态各异的大小整体组成的，
#  构成集合的事物或对象称作元素或是成员。
# 基本功能是进行成员关系测试和删除重复元素。
# 可以使用大括号 { } 或者 set() 函数创建集合，
# 注意：创建一个空集合必须用 set() 而不是 { }，因为 { } 是用来创建一个空字典。
student = {'Tom', 'Jim', 'Mary', 'Jack', 'Rose', 'Tom'}
print(student)  # 输出集合，重复的元素被自动去掉
if 'Tom' in student:
    print("Tom在集合中")
else:
    print("Tom不在集合中")
# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')
print(a)
print(a - b)  # a 和 b 的差集
print(a | b)  # a 和 b 的并集
print(a & b)  # a 和 b 的交集
print(a ^ b)  # a 和 b 中不同时存在的元素

dict = {}
dict['one'] = "1 - 菜鸟教程"
dict[2] = "2 - 菜鸟工具"

tinydict = {'name': 'runoob', 'code': 1, 'site': 'www.runoob.com'}

print(dict['one'])  # 输出键为 'one' 的值
print(dict[2])  # 输出键为 2 的值
print(tinydict)  # 输出完整的字典
print(tinydict.keys())  # 输出所有键
print(tinydict.values())  # 输出所有值

# 分别输出二进制八进制和十六进制数
a = 54
print(bin(a))
print(oct(a))
print(hex(a))